Method and apparatus for generating a coupon

ABSTRACT

A POS terminal generates a purchase price of a purchase, and generates a rounded price. The rounded price may be, for example, the lowest whole number greater than the purchase price. The POS terminal then calculates a round-up amount (change due the customer) as the difference between the purchase price and the rounded price. The coupon value is set based on the round-up amount. For example, the coupon may be redeemable for triple the amount of change due. The POS terminal prints on the coupon an identifier, such as a bar code, that is based on the coupon value. The bar code allows the coupon to be read by a POS terminal when the coupon is redeemed.

The present application is a continuation-in-part application ofco-pending patent application Ser. No. 08/920,116, entitled METHOD ANDSYSTEM FOR PROCESSING SUPPLEMENTARY PRODUCT SALES AT A POINT-OF-SALETERMINAL, filed on Aug. 26, 1997, which is a continuation-in-part ofco-pending patent application Ser. No. 08/822,709, entitled SYSTEM ANDMETHOD FOR PERFORMING LOTTERY TICKET TRANSACTIONS UTILIZINGPOINT-OF-SALE TERMINALS, filed on Mar. 21, 1997.

FIELD OF THE INVENTION

The present invention relates to methods and apparatus for generatingcoupons.

BACKGROUND OF THE INVENTION

Point-of-sale (“POS”) terminals, such as cash registers, are used in awide variety of businesses for performing such processes as calculatingthe total price of a purchase (goods or services) and calculating theamount of change due to a customer. In addition, POS terminals may alsobe used to read and process coupons used by a customer. Some POSterminals are further able to print coupons for customers.

Businesses typically offer coupons to customers in an attempt to promotemany objectives. One such objective is to entice customers to visit thebusiness. Coupons may further entice customers to visit the businessmore frequently. For example, a coupon may have an expiration date, andso the customer must use the coupon before that date or not at all.Businesses may also promote certain items by offering coupons whichprovide a discount only when those items are included in a purchase.

Offering higher-value coupons to customers typically allows a businessto more effectively promote their objectives, such as customerretention. However, the redemption of higher-value coupons typicallyreduces the profit gained by the business.

It would be advantageous to provide a method and apparatus forgenerating coupons that allowed a business to more effectively promoteits various objectives.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a method andapparatus for generating coupons that allowed a business to moreeffectively promote its various objectives.

In accordance with the present invention, a POS terminal generates apurchase price of a purchase, and generates a rounded price. The roundedprice may be, for example, the lowest whole number greater than thepurchase price. The POS terminal then calculates a round-up amount(change due the customer) as the difference between the purchase priceand the rounded price. The coupon value is set based on the round-upamount. For example, the coupon may be redeemable for triple the amountof change due. The POS terminal prints on the coupon an identifier, suchas a bar code, that is based on the coupon value. The bar code allowsthe coupon to be read by a POS terminal when the coupon is redeemed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a POS terminal provided inaccordance with the present invention.

FIG. 2 is a schematic illustration of another embodiment of a POSterminal.

FIG. 3 is a schematic illustration of a network of POS terminals.

FIG. 4 is a flow chart illustrating a method for determining an amountof change due.

FIG. 5 is a schematic illustration of a rounding multiple database ofthe POS terminal of FIG. 1.

FIG. 6 is a schematic illustration of another embodiment of the roundingmultiple database of the POS terminal of FIG. 1.

FIG. 7 is a flow chart illustrating a method for generating a coupon.

FIG. 8 is a schematic illustration of a transaction database of the POSterminal of FIG. 1.

FIG. 9 is a schematic illustration of another embodiment of thetransaction database of FIG. 8.

FIG. 10 is a flow chart illustrating another method for generating acoupon.

FIG. 11 is a flow chart illustrating a method for generating a couponhaving a validity period.

FIG. 12 is a flow chart illustrating another method for generating acoupon having a validity period.

FIG. 13 is a flow chart illustrating a method for generating a couponhaving a required item.

FIG. 14 is a flow chart illustrating another method for generating acoupon having a required item.

FIG. 15 is a schematic illustration of a coupon.

FIG. 16 is a schematic illustration of a coupon database of the POSterminal of FIG. 1.

FIG. 17 is a schematic illustration of another coupon.

FIG. 18 is a schematic illustration of a sequence of digits printed on acoupon.

FIG. 19 is an encoding scheme database of the POS terminal of FIG. 1.

FIG. 20 is a flow chart illustrating another method for generating acoupon.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As described in the above-cited parent application of the presentapplication, patent application Ser. No. 08/920,116, entitled METHOD ANDSYSTEM FOR PROCESSING SUPPLEMENTARY PRODUCT SALES AT A POINT-OF-SALETERMINAL, filed on Aug. 26, 1997, a customer at a POS terminal may beoffered an “upsell” in exchange for an amount of change he is due. ThePOS terminal determines an upsell in dependence on a purchase of thecustomer, and can also determine an upsell price to be the amount ofchange due that customer. Accordingly, the upsell price is based on thepurchase. For example, a customer purchasing a first item for $1.74 andtendering $2.00 may be offered a second item in exchange for the $0.26change due. The upsell price, $0.26, thus depends on the purchase price$1.74.

As also described in the above-cited parent application, one type ofupsell that may be offered for change due is a voucher which isredeemable for a product or a discount thereon (hereinafter a “coupon”).The coupon may have a value to a customer which is greater than thevalue of the change exchanged therefor. By providing coupons for changein accordance with the present invention, a business can reduce the timebetween visits by customers and increase customer satisfaction, therebyincreasing sales.

The description below is arranged into the following sections: Roundinga Purchase Price, Determining a Coupon Value, Setting a Coupon Feature,and Printing a Coupon.

Rounding a Purchase Price

Referring to FIG. 1, a POS terminal 10, which may be the IBM 4683 or IBM4693 manufactured by International Business Machines, comprises aprocessor 12, such as one or more conventional microprocessors. Theprocessor 12 is in communication with a data storage device 14, such asan appropriate combination of magnetic, optical and/or semiconductormemory. The processor 12 and the storage device 14 may each be (i)located entirely within a single computer or other computing device;(ii) connected to each other by a remote communication medium, such as aserial port cable, telephone line or radio frequency transceiver; or(iii) a combination thereof. For example, the POS terminal 10 maycomprise one or more computers that are connected to a remote servercomputer for maintaining databases.

An input device 16 comprises a keypad for transmitting input signals,such as signals indicative of a purchase, to the processor 12. The inputdevice may also comprise a bar code scanner for reading bar codes, suchas those printed on packaging, coupons and receipts. The input devicemay further comprise a card reader, such as those for reading creditcards and frequent shopper cards. A printer 18 registers indicia onpaper or other material, thereby printing receipts and coupons ascommanded by the processor 12. A display device 20 is preferably a videomonitor for displaying at least alphanumeric characters to the customerand/or cashier. Many types of input devices, printers and displaydevices are known to those skilled in the art, and need not be describedin detail herein. The input device 16, printer 18 and display device 20are each in communication with the processor 12.

The storage device 14 stores a program 22 for controlling the processor12. The processor 12 performs instructions of the program 22, andthereby operates in accordance with the present invention, andparticularly in accordance with the methods described in detail herein.The program 22 furthermore includes program elements that may benecessary, such as an operating system and “device drivers” for allowingthe processor 12 to interface with computer peripheral devices, such asthe input device 16, the printer 18 and the display device 20.Appropriate device drivers and other necessary program elements areknown to those skilled in the art, and need not be described in detailherein.

The storage device 14 also stores (i) a rounding multiple database 23;(ii) a transaction database 26; (iii) a coupon database 28; and (iv) anencoding scheme database 32. The databases 23, 26, 28 and 32 aredescribed in detail below and depicted with exemplary entries in theaccompanying figures. As will be understood by those skilled in the art,the schematic illustrations and accompanying descriptions of thedatabases presented herein are exemplary arrangements for storedrepresentations of information. A number of other arrangements may beemployed besides the tables shown. Similarly, the illustrated entriesrepresent exemplary information, but those skilled in the art willunderstand that the number and content of the entries can be differentfrom those illustrated herein.

FIG. 2 illustrates another embodiment of the POS terminal 10, in which acontrol device 50 is in communication via a communication medium 52 witha system 54 for providing an offer. The control device 50 comprises aprocessor 56 in communication with the input device 16 and the displaydevice 20. The system 54 for providing an offer comprises a processor 58in communication with the storage device 14 and the printer 18. In thisembodiment, the control device 50′ may be a cash register, and thesystem 54 may be an electronic device for printing coupons in accordancewith data received from the cash register. Other configurations of thePOS terminal 10 will be understood by those skilled in the art.

Referring to FIG. 3, a network 70 includes a server 72 in communicationwith POS terminals 74, 76 and 78. The server 72 directs the operationof, stores data from, and transmits data to the POS terminals 74, 76 and78. The server 72 may itself be a POS terminal, as described above, ormay be another computing device that can communicate with one or morePOS terminals. Although three POS terminals are shown in FIG. 3, anynumber of POS terminals may be in communication with the server 72without departing from the spirit and scope of the present invention.Each of the POS terminals 74, 76 and 78 may be located in the samestore, in different stores of a chain of stores, or in other locations.The server 72 may perform many of the processes described below,especially those processes that are performed for more than one POSterminal. The server 72 may furthermore store data such as thetransaction database 26.

Referring to FIG. 4, a method 100 is performed by a POS terminal indetermining an amount of change due. A purchase price of a purchase isgenerated (step 102). The step 102 of generating a purchase price maycomprise, for example, (i) pressing keys on the input device 14 (FIG. 1a) which each correspond to a product; (ii) pressing numeric keys on theinput device 14 which correspond to the digits of the purchase price;(iii) reading a bar code that indicates a price of one or more itemsincluded in a purchase; or (iv) receiving digital signals indicative ofa purchase price from a remote computing device.

The POS terminal then generates a “rounded” price (step 104), andcalculates a round-up amount (step 106) equal to the difference betweenthe purchase price and the rounded price. The rounded price may begenerated in many ways, as described in more detail below.

The rounded price may be based on the purchase price. For example, therounded price may be the smallest whole number dollar amount that isgreater than the purchase price, the smallest multiple of five dollarsamount that is greater than the purchase price, or the amount of moneytendered by the customer to pay for the purchase price, which may or maynot be a whole number amount of dollars. When the rounded price is awhole number, the customer can easily tender bills and in turn receive,at his discretion, either (i) no change, or (ii) change which consistssolely of bills, not coins. When the rounded price is a multiple oflarge-denomination coins, such as nickels, dimes, quarters or halfdollars, the customer can receive change that consists solely of coinsthe customer desires, such as quarters.

In another embodiment, the POS terminal determines a rounding multiplethat corresponds to the purchase price. The purchase price is thenrounded in accordance with the rounding multiple to generate the roundedprice. For example, referring to FIG. 5, the rounding multiple database23 of FIG. 1 includes entries 122, 124, 126 and 128, each defining arounding multiple for a range of purchase prices. Each entry (alsocalled a “record”) includes a range of purchase prices 130 and arounding multiple 132.

The rounding multiple database 23 may be used to determine a roundingmultiple and thus a rounded price. For example, if a purchase price is$8.27, the entry 124 (which indicates a range of purchase prices thatincludes $8.27) corresponds to that purchase price. The entry 124 alsoindicates a rounding multiple $5, and thus the rounding multiple $5corresponds to the purchase price $8.27. The purchase price $8.27 isrounded in accordance with the rounding multiple $5, thereby generatinga rounded price of $10. Accordingly, the round-up amount is $1.73($10−$8.27=$1.73).

The rounded price may also be based on items included in the purchase.In one embodiment, generating the rounded price comprises determiningwhether a predetermined item is included in the purchase. Typically, thepredetermined item is selected to be a high-value good, so thatinclusion of the predetermined item indicates a willingness to pay ahigher rounded price. The rounded price could then be set greater if thepredetermined item was included.

For example, the POS terminal may determine whether the purchaseincludes a swordfish steak. If so, the rounded price is set greater thanit would otherwise be set. Thus, the rounded price is set to a firstvalue (e.g. $15) if the purchase does not include a predetermined item,and is set to a second (greater) value (e.g. $20) otherwise. The firstvalue and the second value are based on the purchase price. For example,the first value may be the purchase price rounded to a first roundingmultiple (e.g. $5), and the second value may be the purchase pricerounded to a second (higher) rounding multiple (e.g. $10). In such anembodiment, the rounding multiple could be determined based on whetherthe purchase includes a predetermined item.

Referring to FIG. 6, another embodiment 138 of the rounding multipledatabase includes an entry 140 defining rounding multiples to use basedon whether a predetermined item is included or is not included in thepurchase. The entry 140 includes (i) an indication 142 of the item; (ii)a rounding multiple 144 to use if the item is included; and (iii) arounding multiple 146 to use if the item is not included. For example,if the purchase price is $26.83, and the purchase includes a swordfishsteak, then the rounding multiple $10 is used. The purchase price isrounded in accordance with the rounding multiple to generate a roundedprice $30. Conversely, if the purchase does not include a swordfishsteak, then the rounding multiple $1 is used, and the purchase pricewould be rounded to generate a rounded price $27.

Similarly, generating the rounded price can comprise determining whethera premium item is included in the purchase. A premium item is an itemthat indicates a willingness to pay a higher rounded price. A premiumitem may be any of a set of predetermined items, such as high-marginitems. Alternatively, premium items may be goods which are determined tohave a high margin or a high price compared with available substitutes.As described above, the rounded price, or a rounding multiple, can bebased on inclusion of such premium items in the purchase.

In certain situations, rounding a purchase price in accordance withdifferent rounding multiples will yield the same rounded price. Forexample, rounding the purchase price $29.03 to the nearest $1 or to thenearest $10 will yield the same rounded price ($30). In such asituation, it may be desirable to increase the rounded price when therounding multiple $10 is used, so that the resulting rounded price isassured to be greater than when the rounding multiple is $1. Forexample, referring to Table 1 below, an “increase” may be applied toguarantee that the rounded price is greater when the rounding multipleis greater. TABLE 1 First Rounding Example Purchase Price RoundingMultiple Increase Rounded Price $29.03 $1  $0 $30 $29.03 $10 $2 $32

The increase may be established so that the round-up amount is within apredetermined range. For example, if a business desires to exchange apredetermined item in exchange for at least $0.85, the increase may beestablished at $1.00 so that a round-up amount is always greater than$0.85. The rounded price may be generated in other ways that are basedon the price of the predetermined item thereby allowing thepredetermined item to be exchanged for change due.

In still another embodiment, the rounded price may be generated based onthe highest-priced item in the purchase. The maximum price of all theprices would indicate a willingness to pay a higher rounded price. Forexample, referring to Table 2 below, a rounding multiple may bedetermined from the highest price item. The purchase price is thenrounded in accordance with the rounding multiple to generate a roundedprice, as described above. TABLE 2 Second Rounding Example HighestPriced Item Rounding Multiple <$5 $1  $5-$9.99 $2 $10-$14.99 $5 $15 ormore  $10

Once the round-up amount is determined, an upsell to offer in exchangefor the round-up amount is determined as well. The upsell is offered tothe customer, and, if accepted, the upsell is exchanged for the changedue. If the offer is accepted, an indication of such acceptance can bestored for later use. For example, based on historic acceptances ofparticular offers, different upsells may be offered.

Determining a Coupon Value

Referring to FIG. 7, a method 160 is performed by a POS terminal ingenerating a coupon. As described above, the POS terminal generates apurchase price and a rounded price (steps 162 and 164), and in turncalculates a round-up amount (step 166). The POS terminal then sets acoupon value based on the round-up amount (step 168). Next, the POSterminal prints on the coupon an identifier that is based on the couponvalue (step 170), as is discussed in further detail below.

The coupon value can be expressed as a (typically reduced) price for anitem or the purchase, or a reduction in the price of an item or thepurchase. The reduction may be expressed in many ways, such as apercentage discount or a fixed amount that is to be subtracted from theprice.

The coupon value is typically based on the round-up amount, and may inparticular be based on a predetermined multiple of the round-up amount.For example, the coupon value may be set to three times the round-upamount. In such an embodiment, a customer can be offered a coupon worth$0.99 for his $0.33 change due.

The POS terminal may furthermore set the coupon value based on theround-up amount and a condition. Several conditions may be used, andselection of desirable conditions will typically be dictated by variousbusiness goals.

One condition is whether the customer uses a coupon in paying for thecurrent purchase. In such an embodiment, the POS terminal provides agreater-value coupon to customers that are less likely to redeem coupons(i.e. customers that do not redeem a coupon in the current transaction).Customers that are less likely to redeem coupons will typically requirea greater value coupon in exchange for their change due. Accordingly,the POS terminal determines whether the purchase includes couponredemption. For example, coupons may be scanned by a bar code scannerand thus read by the POS terminal to indicate coupon redemption.Alternatively, various buttons on the input device 16 (FIG. 1) may beactuated to indicate coupon redemption.

If the purchase includes coupon redemption, the coupon value is set to afirst value. If the purchase does not include coupon redemption, thecoupon value is set to a second value greater than the first value. Boththe first value and the second value are based on the round-up amount.For example, a customer that redeems a coupon in his purchase may beprovided with a coupon worth twice his change, while a customer thatdoes not redeem a coupon in his purchase may be provided with a couponworth triple his change.

Another condition is previous coupon redemption by the customer. Asdescribed above, the POS terminal provides a greater-value coupon tocustomers that are less likely to redeem coupons (i.e. customers thathistorically have not redeemed coupons much or at all). In such anembodiment, the POS terminal receives a customer identifier, such as afrequent shopper number, that uniquely identifies the customer. Based onthe customer identifier, the customer's historical coupon redemption ismeasured. The historical coupon redemption may be, for example, thenumber of coupons redeemed or the ratio of coupons redeemed to number ofpurchases.

Referring to FIG. 8, the transaction database 26 (FIG. 1) includesentries 200, 202, 204 and 206, each defining transactions (purchases)made by a customer. Each entry includes (i) a customer identifier 208that uniquely identifies a customer; (ii) a number of purchases 210 thatthe customer has made; (iii) a number of coupons redeemed 212; and (iv)an average number of coupons redeemed per purchase 214, which is theratio of the number of coupons redeemed 212 to the number of purchases210. As desired, further information may be stored for each entry, suchas items purchased in each transaction and dates of transactions.

When a customer initiates a transaction using a frequent shopper card,the POS terminal receives the customer identifier from a card reader orsimilar device. The POS terminal may then update the corresponding entryof the transaction database 26, for example, by increasing the number ofpurchases and number of coupons redeemed accordingly. When generating acoupon, the POS terminal likewise determines the coupon redemption thatis based on the customer identifier, and sets the coupon value based onthe coupon redemption. The coupon redemption may be explicitly stored inthe transaction database 26, or may be calculated from data storedtherein.

Referring to Table 3, there is shown an exemplary set of coupon valuesfor various ranges of coupon redemption. Such information on couponvalues may be stored in the storage device 14 (FIG. 1). In thisembodiment, coupon redemption is expressed as the average number ofcoupons redeemed per purchase. TABLE 3 Coupon Value Based on CouponRedemption Coupon Redemption Coupon Value   0-0.25 Quadruple the ChangeDue 0.26-0.5 Triple the Change Due 0.51-1.0 Double the Change Due >1.0Change Due

For example, referring again to FIG. 8, the entry 204 defines an averagenumber of coupons redeemed per purchase of 0.36. Table 3 in turnindicates that a coupon redemption of 0.36 corresponds to coupon valuethat is triple the change due. Accordingly, in this situation the amountof change due is multiplied by three to generate the coupon value. Tomany customers, such a “triple-change” coupon is more attractive thansimply receiving the change due. Such customers are more likely toaccept an offer for the coupon.

In addition, it can be further advantageous to provide a greater couponvalue to customers periodically. For example, the coupon value of thecoupon offered to the customer may be increased on every tenthtransaction, or on every tenth coupon redeemed. Accordingly, in someembodiments the coupon value is increased if the number of transactionsor number of coupons redeemed corresponds to a multiple of apredetermined number (e.g. a multiple of ten).

Another condition is the payment type used in paying for the currentpurchase. The POS terminal can determine a payment type and set thecoupon value based on the payment type. The payment type may be, forexample, a credit card, a debit card, currency (coins and bills) or acheck. The POS terminal can determine the payment type by actuation ofkeys provided in the input device 16 (FIG. 1) or from various devicessuch as card readers.

It is particularly advantageous to provide a greater-value coupon tocustomers that use a payment type other than currency (e.g. credit cardor check). Such customers are able to pay exact amounts and thus do nothave to receive any change. Accordingly, customers that use a paymenttype other than currency should be provided with more of an advantage topay a rounded amount and accept a coupon in return for change due. ThePOS terminal can determine whether the payment type is currency and, ifso, set the coupon value to a first (lower) value. Otherwise, the couponvalue is set to a second (higher) value.

Another condition is whether the customer uses a frequent shopper cardin the current transaction. It is particularly advantageous to provide agreater-value coupon to customers that use a frequent shopper card,since customers then have an incentive to register for the frequentshopper program. The business in turn benefits since the transactions ofregistered customers can be readily tracked. The POS terminal candetermine whether a frequent shopper card is used by actuation of keysprovided in the input device 16 (FIG. 1) or from various devices such ascard readers. Use of a frequent shopper card causes the POS terminal toreceive a frequent shopper identifier (e.g. a frequent shopper number).If a frequent shopper identifier is received, the coupon value is set toa higher value. Otherwise, the coupon value is set to a lower value.

Another condition is the acceptance rate of offers for upsells. It isparticularly advantageous to provide a greater-value coupon to customersthat have historically not accepted the offer for a coupon in exchangefor their spare change. Such customers typically require an enhancedincentive to accept such offers. The POS terminal can receive a customeridentifier from various devices such as card readers that read frequentshopper cards. The POS terminal then determines an acceptance rate basedon the customer identifier, and sets the coupon value based on theacceptance rate.

For example, referring to FIG. 9, another embodiment 230 of thetransaction database 26 (FIG. 1) includes entries 232, 234 and 236, eachdefining acceptances by a customer. Each entry includes (i) a customeridentifier 238 that uniquely identifies a customer; (ii) a number ofpurchases 240 that the customer has made; (iii) a number of acceptedupsell offers 242; and (iv) an acceptance rate 244. As desired, furtherinformation may be stored for each entry.

When a customer initiates a transaction using a frequent shopper card,the POS terminal receives the customer identifier from a card reader orsimilar device. The POS terminal may then update the corresponding entryof the transaction database, for example, by increasing the number ofpurchases and number of accepted upsell offers accordingly. Whengenerating a coupon, the POS terminal likewise determines the historicalacceptance rate that is based on the customer identifier, and sets thecoupon value based on that acceptance rate. The acceptance rate may beexplicitly stored in the transaction database, or may be calculated fromdata stored therein.

Referring to Table 4, there is shown an exemplary set of coupon valuesfor various ranges of acceptance rates. In this embodiment, acceptancerate is expressed as the average number of acceptances per purchase.TABLE 4 Coupon Value Based On Acceptance Rate Acceptance Rate CouponValue   0-0.25 Triple the Change Due 0.26-0.5 Double the Change Due0.51-1.0 Change Due

For example, referring again to FIG. 9, the entry 232 defines anacceptance rate of 0.43 for a customer identified by “1234567”. Table 4in turn indicates that the acceptance rate of 0.43 corresponds to couponvalue that is double the change due. Accordingly, in this situation theamount of change due to customer “1234567” is multiplied by two togenerate the coupon value. To many customers, such a “double-change”coupon is more attractive than simply receiving the change due.

Setting a Coupon Feature

As described above, the POS terminal prints on the coupon an identifierthat is based on the coupon value. In other embodiments, the identifiercan be based on both the coupon value and a coupon feature. Such anembodiment allows more than just the value of the coupon to be set bythe POS terminal. Accordingly, coupons can be better customized topromote business objectives.

Referring to FIG. 10, a method 250 is performed by a POS terminal ingenerating a coupon. As described above, the POS terminal generates apurchase price and a rounded price (steps 252 and 254), and in turncalculates a round-up amount (step 256). The POS terminal then sets acoupon value based on the round-up amount (step 258), and sets a couponfeature based on a condition (step 260). The POS terminal then prints onthe coupon an identifier based on the coupon value and the couponfeature (step 262).

A coupon feature is an aspect of the coupon that may assume one of aplurality of values. In the present invention, the POS terminal can setthe coupon feature in accordance with various goals. Two types of couponfeatures that are discussed in detail herein are a validity period and arequired item. Other coupon features will be understood by those skilledin the art.

A validity period of a coupon is a period during which the coupon may beredeemed. For example, the validity period may be defined by anexpiration date, which defines the end of the validity period. Avalidity period may be predetermined times of the day, such as from 1:30PM to 4:00 PM every weekday until Jan. 30, 1999.

In one embodiment, the validity period depends on the time since thelast transaction of the customer. In such an embodiment, the POSterminal may set the validity period in order to prompt customers toreturn to the store sooner than they otherwise would have.

Referring to FIG. 11, a method 280 is performed by a POS terminal ingenerating a coupon having a validity period. The POS terminaldetermines a time of a previous transaction (step 282). For example, ifthe customer uses a frequent shopper card in the current transaction,the POS terminal may determine the date that the same frequent shopperidentifier (customer identifier) was last used in a transaction. The POSterminal can then determine the time interval since the previoustransaction (step 284), for example, by calculating the number of daysbetween the previous transaction and the current transaction. Then, thevalidity period of the coupon may be set based on the time intervalsince the previous transaction (step 286). For example, the validityperiod may be set to be shorter than the time interval since theprevious transaction (e.g. one day shorter than that time interval).

In another embodiment, the validity period depends on the current time.In such an embodiment, the POS terminal may also set the validity periodto prompt customers to return to the store sooner than they otherwisewould have.

Referring to FIG. 12, another method 300 is performed by a POS terminalin generating a coupon having a validity period. The POS terminaldetermines a current time (step 302). The current time may be expressed,for example, as the date, the day of the week, a time of day, or whetherit is a weekday or weekend. The POS terminal then determines an intervalthat corresponds to the current time (step 304). For example, if thecurrent time is expressed as “weekend” (as opposed to “weekday”), thenthe corresponding interval may be the following weekend.

Once the interval is determined, the validity period of the coupon isset to exclude the interval. For example, if the interval is the rangefrom Saturday, Dec. 18, 1999 to Sunday, Dec. 19, 1999, a validity periodthat excludes that interval is the date range from Monday, Dec. 20, 1999to Friday, Dec. 24, 1999. As another example, if the current time is12:30 PM, then a corresponding interval is the range from 11:30 AM to1:30 PM. A validity period that excludes this interval is “any weekdayafter 1:30”.

A required item of a coupon is a coupon feature that indicates an itemthat must be purchased in order to redeem the coupon. For example, if acoupon is for “30% discount on a can of Acme corn”, the required item isAcme corn, and the coupon value is a 30% reduction in the price of Acmecorn.

In one embodiment, the required item is based on the historical couponredemption of the customer. Customers that do not redeem many couponsare typically less likely to accept an offer for a coupon. Accordingly,such customers should be offered higher-value coupons than thosecustomers that have greater coupon redemption. Thus, customers that havegreater coupon redemption are offered a (relatively) lower-value coupon,such as a coupon for higher priced items, for higher margin items or foritems the customer does not often purchase.

Referring to FIG. 13, a method 320 is performed by a POS terminal ingenerating a coupon having a required item. The POS terminal receives acustomer identifier (step 322), such as a frequent shopper identifierthat is read from a frequent shopper card. The POS terminal in turndetermines the coupon redemption based on the customer identifier (step324). Determining coupon redemption has been described above withreference to FIG. 8 and Table 3. The required item of the coupon is setbased on the coupon redemption (step 326).

The step 326 can comprise setting the required item to be apredetermined item if the coupon redemption is greater than apredetermined threshold. For example, if a customer redeems coupons onevery transaction (e.g., coupon redemption >0.9), it can be desirable tooffer him a coupon for a high margin item, or some other predetermineditem.

Referring to FIG. 14, another method 340 is performed by a POS terminalin generating a coupon having a required item. The POS terminal receivesa customer identifier (step 342), such as a frequent shopper identifierthat is read from a frequent shopper card. The POS terminal thendetermines the coupon redemption based on the customer identifier (step344). Determining coupon redemption has been described above withreference to FIG. 8 and Table 3. The POS terminal also determines an“infrequent item” based on the customer identifier (step 346). Aninfrequent item is an item the customer has not previously purchasedmuch or at all. As described above, the items previously purchased by acustomer may be stored in the transaction database 26 (FIG. 1), and soinfrequent items may be determined from the transaction database 26. Aninfrequent item may furthermore be an item the customer is unlikely todesire, as determined by past purchases of the customer. For example, ifa customer's purchases have never included any pet food or pet supplies,it is unlikely that customer will desire an item such as a box of catfood.

If the coupon redemption is greater than a predetermined threshold (step348), then the required item of the coupon is set to be the infrequentitem (step 350). The predetermined threshold may be established todiscriminate between customers that are likely to redeem coupons andthose that are not.

Printing a Coupon

Once the coupon value and any appropriate coupon parameters are set, thePOS terminal prints on a coupon an identifier that is based on thecoupon value (and coupon parameters, if any). In one embodiment, theidentifier comprises a bar code that may be read by bar code scanners ina known manner. The bar code may be of the one-dimensional ortwo-dimensional type, as will be apparent to those skilled in the art.

As is known in the art, a bar code codifies information, typically asequence of digits. Accordingly, a bar code can represent one or morevalues, especially numeric values. In one embodiment of the presentinvention, the bar code indicates a record that stores a coupon value ora coupon feature. In other embodiments, the bar code itself encodesinformation such as a coupon value or a coupon feature.

Referring to FIG. 15, a coupon 370 includes a bar code 372, text 374describing the coupon value (5% discount on the purchase price), andtext 376 describing the validity period. The bar code 372 represents asequence of digits, and the sequence is described by text 378. Thesequence of digits in the illustrated example is “105789231”, which inthis embodiment indicates a record that stores coupon information.

Referring to FIG. 16, the coupon database 28 (FIG. 1) includes entries390, 392 and 394, each defining a coupon. Each entry includes (i) acoupon identifier 396 that uniquely identifies the coupon, and thatcorresponds to a bar code printed on the coupon; (ii) a coupon value398; (iii) a validity period 400; and (iv) a required item 402. Asdescribed above, a coupon may or may not include a validity period and arequired item. For example, the entry 392 indicates neither a validityperiod nor a required item.

Each entry of the coupon database 28 may correspond to a single physicalcoupon. Alternatively, each entry may correspond to many identicalphysical coupons. For example, the entry 394 may correspond to onehundred coupons that each may be redeemed for a $0.50 package of Acmetortellini. Each of these coupons would have a bar code that indicatedthe entry 394, and it can be desirable to also store an indication ofthe coupons redeemed.

In the above-described embodiment, the bar code printed on the couponmerely indicates where coupon information is stored. The bar code servesto identify information stored in an entry, so that the correspondingentry is determinable from the bar code. In other embodiments, the barcode encodes coupon information.

Referring to FIG. 17, a coupon 410 includes a bar code 412, text 414describing the coupon value (5% discount on the purchase price), andtext 416 describing the validity period. The bar code 412 represents asequence of digits, and the sequence is described by text 418. Thesequence of digits in the illustrated example is “881000599”, and inthis embodiment the sequence encodes coupon information. Thus, thecoupon information is directly stored on the coupon, which can be moreefficient in certain situations. For example, if the coupon itselfstores required information, the coupon may be read by any machine thatis able to interpret the encoding scheme used in creating the bar code.Thus, stores would not need to be in communication with a centraldatabase that stores the coupon information, and consequently a largevariety of unrelated businesses would be able to read and redeem thecoupon.

Referring to FIG. 18, the sequence of digits “881000599” printed on thecoupon 410 (FIG. 17) is illustrated in further detail and indicated byreference numeral 440. The sequence of digits 440 can represent one ormore values, and the representation described by FIG. 18 is but oneexample. A portion 442 of the sequence of digits 440 indicates theencoding scheme, which is described in more detail below. A portion 444of the sequence of digits 440 indicates the percentage discount that isto be applied to the purchase price. Thus, the portion 444 defines thecoupon value. A portion 446 comprises unused digits in the indicatedencoding scheme.

Referring to FIG. 19, the encoding scheme database 32 includes entries462, 464 and 466. Each entry defines how different information isindicated by the different digits of the bar code. Each entry includes(i) an encoding scheme identifier 468 that uniquely identifies theencoding scheme; and (ii) a description 470 of the correspondingencoding scheme. In the illustrated embodiment, the encoding schemeidentifier is the first three digits of the bar code. For example,referring again to FIG. 19, the portion 442 indicates an encoding scheme“881”. As shown by the entry 464, in the encoding scheme “881” thefourth through seventh digits (the portion 444 of FIG. 18) indicate apercentage discount applied to the purchase price. The entry 464 alsoshows that in the encoding scheme “881” the digits after the seventhdigit are ignored, and so contain no further coupon information.

Alternatively, the identifier that is printed on the coupon may comprisetext, rather than a bar code. For example, the coupon may include textthat describes the coupon value and/or coupon features. A cashieroperating the POS terminal could read the text, and in turn actuateappropriate keys of the POS terminal to indicate the coupon value.

As described above, upon acceptance by the customer, the coupon isprinted and exchanged for change due (round-up amount). It can bedesirable to print an indication of the change due on the coupon. Suchan indication would permit the coupon to be readily returned for theround-up amount, which is the amount the customer originally “paid” forthe coupon. For example, a customer may reconsider his acceptance andwish to have his change instead of the coupon. If the coupon includes anindication of the round-up amount, there is little ambiguity about whatthe customer paid for the coupon.

Referring to FIG. 20, a method 490 is performed by a POS terminal ingenerating a coupon. The POS terminal generates a purchase price and arounded price (steps 492 and 494) and calculates a round-up amounttherefrom (step 496). If the customer accepts the offer, the POSterminal prints on the coupon an indication of the round-up amount (step498), and the coupon is exchanged for the round-up amount (step 500).

If the customer reconsiders, he can later return the coupon. Theindication of the round-up amount that is printed on the coupon isreceived by the POS terminal (step 502). For example, the indication ofthe round-up amount may be encoded in the bar code, determinable fromthe bar code, or printed separately on the coupon. The bar code or otherprinting could be scanned by the POS terminal or entered via the inputdevice 16. Once the POS terminal receives the indication and therefromdetermines the round-up amount due to the customer, the round-up amountis exchanged for the coupon (step 504).

When the coupon is exchanged for the round-up amount, and vice-versa,the POS terminal may maintain an audit trail regarding the number ofcoupons that should have been received, and the amount of money thatshould have been received. Such an audit trail is useful in deterringand detecting fraud. Various auditing procedures will be understood bythose skilled in the art.

It can be further desirable to encrypt the indication of the round-upamount to reduce the threat of counterfeit coupons. For example, if theindication of the round-up amount is merely text such as “$0.45”, thecoupon could be easily duplicated repeatedly. However, if the round-upamount is encrypted, counterfeiting becomes more difficult. Manyencryption and decryption techniques are well known, and described inthe text “Applied Cryptography, Protocols, Algorithms, and Source Codein C”, Second Edition, by Bruce Schneier.

Also, if each coupon includes at least one unique identifier, therebyallowing redemption of each coupon to be tracked, then redemption of anycounterfeit coupons may be more easily detected and reduced. Inaddition, if valid identifiers cannot be readily determined from othervalid identifiers, fraud is further deterred.

When coupons are redeemed, it can be advantageous to store an indicationof such redemption. If the coupon is redeemed, an indication of suchredemption can be stored for later use. For example, based on historicredemption of particular coupons, different coupons may be offered.

Although the present invention has been described with respect to apreferred embodiment thereof, those skilled in the art will note thatvarious substitutions may be made to those embodiments described hereinwithout departing from the spirit and scope of the present invention.For example, many conditions may be used besides those conditionsdescribed in detail herein.

1. A method for determining an upsell of a purchase at a point-of-saleterminal, comprising: generating a purchase price of the purchase;generating a rounded price; calculating a round-up amount, the round-upamount being a difference between the purchase price and the roundedprice; determining an upsell in dependence on the round-up amount; andoutputting a signal indicative of the upsell. 2-59. (canceled)